System and method for providing advanced call forwarding functionality

ABSTRACT

A system and method for providing call forwarding. Telephone information of one or more telephones assigned to a user may be stored, where the telephone information may include location coordinates (e.g., GPS coordinates). Telephone information, including location coordinates, of one or more telephones assigned to an organization of which the user is associated may be stored. The organization may be an employer of the user, for example. If call forwarding is enabled by the user, then a call to a wireless device of the user may cause a determination as to whether the wireless device is within a predetermined range of a telephone assigned to either the user or organization may be made. A distinctive ring may be generated to notify the user that a call forwarding call is being received.

BACKGROUND OF THE INVENTION

Telecommunications have advanced dramatically over the past few years. Mobile telecommunications have adopted a number of different technologies into mobile telephones, including cameras, speech recognition, and global positioning systems (GPS), to name a few. With each of these technologies, applications have been developed to utilize the technologies. In addition to mobile telephones, voice over Internet Protocol (VoIP) telecommunications have been developed and had a variety of technologies and applications developed therefor.

Two applications or services that have been developed for mobile and VoIP telecommunications are “smart simultaneous ring” and “find me follow me.” The “find me follow me” application is two call forwarding applications that are often used in conjunction with one another. The “find me” application allows a user to receive calls at any location, and the “follow me” application allows a user to receive calls at any number of telephone numbers. The “simultaneous ring” application rings several telephone numbers simultaneously when a call is received at a first telephone, such as a mobile telephone, and the “simultaneous ring” application is activated.

With each of these two applications, a user establishes telephone numbers for calls to be forwarded. For the “find me follow me” service, a user establishes his or her schedule in addition to the telephone numbers to efficiently call alternative telephone numbers at which a user anticipates being located. The two applications are generally used to reduce usage charges of customers as mobile telephone charges are generally based on usage time, while home telephone charges generally are not when calls are received.

SUMMARY OF THE INVENTION

To reduce cumbersome operation of existing “find me follow me” applications, the principles of the present invention provide for utilizing GPS capabilities of a wireless telephone to automatically determine a telephone number at which a user is currently located. To establish telephone numbers at which a user may be located in associated with respective GPS coordinates, a user may pre-establish telephone numbers in association with GPS coordinates so that a telecommunications system, in identifying a telephone number at which the user is located, may look-up the telephone number in association with the current GPS location of the user and call that telephone number. In addition, because users of wireless telephones often carry their wireless telephones at work and tend to walk around work premises and with team members in different offices, an office GPS-telephone number database may be established to enable a communications service provider to look-up a telephone number database. Furthermore, a distinctive ring may be established for a user such that a call to a different telephone may generate the distinctive ring to notify the user that the call is for him or her.

One embodiment of a system and method for providing telephone services may include at least one database a processing unit. The database(s) may be configured (i) to store at least one telephone number and associated sets of location coordinates of a first set of telephones registered as being available for a call to be routed in an attempt to connect with a user and (ii) to store at least one telephone number and associated sets of location coordinates of a second set of telephones registered as being available for a call to be routed in an attempt to connect with the user. The first set of telephones may include at least one telephone assigned to a user and the second set of telephones may include at least one telephone assigned to an organization of which the user is associated. The processing unit may be configured to, in response to receiving a call request, determine whether a wireless telephone of the user is positioned within a predetermined range of a first telephone of the first set of telephones stored in the database(s). In response to determining that the wireless telephone is within the predetermined range of the first telephone, the processing unit may cause a call associated with the call request to be routed to the first telephone. Otherwise, a determination may be made as to whether the wireless telephone of the user is within the predetermined range of a second telephone of the second set of telephones stored in the database(s). In response to determining that the wireless telephone is within the predetermined range of the telephone, the processing unit may cause the call associated with the call request to be routed to the second telephone.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of an exemplary environment for providing telecommunications services including call forwarding in accordance with the principles of the present invention;

FIG. 2 is a block diagram of an exemplary server for providing functionality in accordance with the principles of the present invention;

FIG. 3 is a block diagram of exemplary modules executable by the server of FIG. 2;

FIG. 4 is an illustration of an exemplary wireless device providing a user interface for a user to identify and enter telephone information and location coordinates thereof;

FIG. 5 is an illustration of an exemplary graphical user interface for a user to enter information of multiple telephones with location coordinates respectively associated therewith; and

FIG. 6 is an exemplary flow diagram for providing call forwarding features in accordance with the principles of the present invention.

DETAILED DESCRIPTION OF THE DRAWINGS

With regard to FIG. 1, a user 102 is shown with a wireless device 104. The wireless device 104 may be a mobile telephone that communications over a mobile network, voice over Internet Protocol (VoIP) telephone, smart telephone (e.g., Blackberry®), or any other wireless device that is generally utilized by the user 102. The wireless device 104 may be in communication with communications network(s) 106 via a mobile communications tower 108. In one embodiment, the wireless device 104 may communicate utilizing data packets 110 utilizing any wireless communications protocol, as understood in the art.

The user 102 may have one or more telephones assigned to him or her. A telephone being assigned to a user means that the user is a primary subscriber or resident where the telephone is located. The user may or may not have his or her name specifically identified on a bill, but the telephone is one in which the user typically receives calls (e.g., teenager whose parents pay bills on a home telephone). The assigned telephone may be a fixed-position telephone (e.g., wall telephone or wired telephone that connects to a socket) or cordless telephone having a base unit and wireless handset. For example, the user 102 may have a home telephone 112 located as his or her house 114 and a work telephone 116 as his or her office 118.

The wireless device 104 may be configured to determine or be utilized in determining location information. For example, the wireless device 104 may be configured with a global positioning system (GPS) device that is able to identify location coordinates from GPS satellites 120 a-120 n. As another example, a mobile communications system may utilize triangulation techniques for determining location of the wireless device 104. It should be understood that GPS coordinates may be but one location coordinate system and that alternative location coordinates may be utilized to identify location of the wireless device 104.

A server 122 may be in communication with the network(s) 106 and utilized to enable the user 102 to register telephone information of the telephones 112 and 116 that are assigned to the user 102. In addition, because the user 102 is likely to be in other offices or locations at his or her office 118, each work telephone 124 a-124 n (collectively 124) may also be registered with the server 122 and assigned to an organization (e.g., company) of which the user is associated. Telephone 116, as shown, is one of the work telephones 124, which define a set of telephones. A storage unit 126 may be configured to store one or more data repositories 128 a-128 n (collectively 128) with telephone information for the telephones assigned to the user and assigned to the organization, respectively. In being associated with the organization, the user 102 may be an employee, officer, board member, sales person who sells products or services to the organization, consultant for the organization, or have any other function that would associate the user 102 with the organization. It should be understood that the organization may include one or more locations (e.g., located in the same or different cities, states, or countries) and each telephone within the organization may be separately identified with a set of location coordinates (e.g., latitude, longitude and altitude coordinates).

In one embodiment, the server 122 may be configured to determine whether the wireless telephone 104 is within a predetermined distance (e.g., 10 feet) from a telephone registered to be either assigned to the user 102 or organization of which the user 102 is associated and forward a call to a telephone that is within the predetermined distance. For example, if the user 102 has enabled a call forward feature (e.g., “find me follow me” feature) provided by a service provider of the wireless device 104, then the server 122 may determine that the wireless device 104 is within the predetermined distance of one of the registered telephones (e.g., home telephone 112 or work telephone 124 n), and route calls made to the wireless device 104 to the registered telephone within the predetermined distance.

To assist the user 104 in identifying that the forwarded call is for the user 104, a distinctive ring may be generated at the telephone. A distinctive ring may be any ring time that distinguishes a call forwarding from a direct call. For example, a distinctive ring would include a triple ring having three short burst rings or any other ring (e.g., short-long-short rings) that would notify the user 102 that a forwarded call is being made to the user 102. In one embodiment, the distinctive ring may be a non-bell type ring, such as a voice announcement, music, or any other audio sound capable of being created or played by the registered telephone.

Although the wireless device 104 may be configured to communicate over the network(s) 106, the server 122 may be configured to cause a forwarded call to be routed over either data packet (e.g., Internet) or non-data packet (e.g., public switched telephone network (PSTN)) communications networks. While shown as a single server 122, the same or analogous functionality may be provided by more than one server. In addition, the storage unit 126, rather than being located at the server 122, the storage unit 126 may be remotely located from the server 122, but in communication with the server 122 via the network(s) 106.

With regard to FIG. 2, the server 122 of FIG. 1 may be configured with a processing unit 202 that executes software 204. The software 204 may be configured to provide call forwarding functionality in accordance with the principles of the present invention. The processing unit 202 may further be in communication with a memory 206, input/output unit 208 and storage unit 126 storing data repositories 128 (FIG. 1). The data repositories 128 may be one or more databases having records defining the telephone information assigned to the user or organization(s) of which the user is associated. The processing unit 202 may be formed of one or more computer processors. The memory 206 may be utilized to store data and executable software. The I/O unit 208 may be configured to communicate over one or more networks using data packet communications protocols or otherwise.

The software 204 may be configured to provide a number of different processes, including registration, data management, and call forwarding. The registration process may enable a user to register telephone information assigned to the user and register telephone information assigned to an organization of which the user is associated. For registration of telephones assigned to the user, the user may interface with the software 204 via a wireless device, as further described with respect to FIG. 4. For registration of the telephones assigned to an organization, a user, who may be an employee of the organization, service provider, or outside agent, may interface with software 204 via a network, such as a website on the Internet, wireless device with GPS or other coordinate generation system, or wireless device configured to a communications system to generate triangulated coordinates, as further described with respect to FIG. 5. The data management process may include storing and accessing telephone information, including location coordinates, of the registered telephones in the data repositories 128. The call forwarding process may include receiving a call request and determining that the wireless device is within a predetermined distance from a registered telephone.

With regard to FIG. 3, modules 300 are provided to provide for one or more of the processes provided by the software 204 of FIG. 2. An individual telephone registration module 302 may be configured to enable a user to register an individual telephone by submitting telephone information. The telephone information may include telephone number, location (e.g., home or work), and location coordinates. In one embodiment, the location coordinates are GPS coordinates. A wireless device applet 304 may be an application that is downloadable to a wireless device for execution thereon. The wireless device applet 304 may provide a GUI to enable a user to register a telephone by entering telephone information. As the wireless device may have GPS electronics to determine GPS coordinates, the wireless device applet 304 may automatically collect the GPS coordinates from the wireless device when a user is registering a telephone. The individual telephone registration module 302 may be accessible via a network, telecommunications and/or Internet, via a wireless device, computer, or otherwise, to enable a user to enter the telephone information, while the wireless device applet 304 may allow the user to enter the telephone information via the wireless device. In one embodiment, the individual telephone registration module 302 may interact with the wireless device applet 304, whereby the individual telephone registration module 302 collects the telephone information that is submitted by the wireless device applet 304. An exemplary GUI of the wireless device applet 304 is shown in FIG. 4.

An organization telephone registration module 306 may provide a GUI for a user to register one or more telephones of an organization. The organization telephone registration module 306 may provide a GUI accessible via a network, such as the Internet. The user may be asked to submit or select an organization identifier. For example, a company, such as Raytheon Company, may have a pre-established identifier that may be selected from a list of companies via the GUI. A subset of the selected organization may also be selectable. As some organization have more than one affiliate or location, each may be selectable or enterable. For example, Raytheon Company has many buildings in Massachusetts, Arizona, Tennessee, Texas, etc. In addition, Raytheon Company owns other companies and divisions under the same and different names. The organization telephone registration module 306 may enable a user to enter telephone information of each telephone in the organization. An exemplary GUI of the organization telephone registration module 306 is shown in FIG. 5. By registering some or all of the telephones of an organization, an employee that travels throughout the organization may be reached when at his or her location or traveling to other locations within the organization.

A locate nearest in-range registered telephone module 308 may be configured to enable the server 122 or other system to locate a registered telephone that is within a predetermined distance or range of a wireless telephone of a user. The module 308 may receive GPS or other coordinates of the wireless telephone and look-up a registered telephone that is positioned with the predetermined distance (e.g., 10 feet). Other coordinate systems that provide for a resolution the same or similar to that of the GPS coordinate system may be utilized in accordance with the principles of the present invention. A route call to in-range registered telephone module 310 may receive telephone information identified by the locate nearest in-range registered telephone module 308 and automatically route a call to the telephone identified to be within the predetermined distance.

With regard to FIG. 4, a wireless device 400 may execute software, such as the wireless device applet 304, to display a GUI 402 that enables a user to register a telephone by entering a telephone number in text entry field(s) 404. In addition, the GUI 402 may enable a user to select an identifier 406, such as “work,” “home,” or “other.” As shown, current GPS coordinates 408 may be displayed such that when the user submits the telephone number and, optionally, identifier, the telephone information (e.g., telephone number, identifier, and GPS coordinates), may stored for later look-up in determining whether the wireless telephone 400 is within a predetermined distance of the registered telephone. In one embodiment, the user may be provided an option to select a ring type for a call forwarding ring. As shown, a selection element 410 may enable a user to select from among a number of different ring types, such as triple ring. Alternative ring types and tones may be selectable by the user in accordance with the principles of the present invention.

With regard to FIG. 5, an exemplary GUI 500 is shown to enable one or more telephones of an organization to be registered. In one embodiment, the GUI 500 is a website accessible via the Internet or wireless device. The GUI 500 may enable a user to select an organization name, such as Raytheon, via a selectable pull-down menu 502. Alternative GUI elements, such as search text boxes, may be utilized to search for an organization, if available, in a database of organizations located in a storage unit accessible via a network. If the organization is not found in the database, then the user may have the option to add the organization, including name, address, affiliates, etc. A company ID field 504 may display a company ID, which may be a federal ID, employer ID of the company, customer ID, or other ID to distinguish each company.

A table 506 may display telephone information. The telephone information may include telephone number, GPS latitude, GPS longitude, GPS altitude (not shown), name of employee assigned to the telephone, and office number. In one embodiment, telephone information may be entered into each field by a user. Alternatively, the telephone number, name, and office number may be entered by a user and the GPS coordinates may be automatically identified by a wireless device or GPS enabled computer that a user is using while at a telephone being registered. Alternative means of entering the telephone information may be utilized in accordance with the principles of the present invention. For example, a telephone being registered may have a GPS device and be capable of reporting its current GPS coordinates. As another example, a user may use non-GPS enabled devices to register a telephone and perform a look-up on an on-line system that provides GPS coordinates for the location at which the telephone resides (e.g., house). As shown, each row in table 506 defines a data record of telephone information. The first three data records 508 include telephone information associated with telephones located in Massachusetts, and the last three data records 510 include telephone information associated with telephones located in Arizona, each of which are located in facilities owned by Raytheon Company. The user, who may be a representative of the company, employee of a telephone service provider, or otherwise, may select a distinctive ring, such as a short-long ring, from a selection element 512 that provides users with a notification that a call forwarding call is being made to a telephone at which he or she is located.

TABLES I-III may include exemplary information stored in data repositories for use in managing telephone information to provide for call forwarding functionality in accordance with the principles of the present invention. TABLE I includes a list of subscribers and telephone information of telephones assigned to each subscriber. In addition, organization or company information may be associated with each subscriber. TABLE II may include organization information, including company name, company ID address, telephone number (main line), and contact name of individual who manages the organization information and telephone information in TABLE III. TABLE III may include telephone information of each telephone within the organization. TABLE III may include telephone number, name assigned to telephone (e.g., employee), office (or cubicle) number, GPS latitude, GPS longitude, and GPS altitude (not shown). Other relevant information associated with the telephone, such as telephone brand and model, may also be stored. As organizations may be extensive and include many thousands of telephones, TABLES I-III are exemplary and it should be understood that each organization may have a separate table or database to manage telephone information. In addition, the TABLES are relational in that TABLE I includes a company name and ID and either may be used to access information stored in either TABLES II or III. Alternative database configurations may be utilized in accordance with the principles of the present invention.

TABLE I Wireless GPS GPS GPS Company Company Subscriber Device Home Coords Work Coords Other Coords Name ID Bob Smith 978 405- 978 826- Lat: 978 259- Lat: — — Raytheon 3294718 1234 0123 27.729523 1234 42.616759 Company Long: Long: −92.352903 −71.216168 Mark 603 966- 603 741- Lat: 978-259- Lat: — — Fidelity 7243823 Johnson 1234 2345 46.196773 5678 42.616758 Investments Long: Long: 11.474652 −71.216169 Laurie 214 374- 972 873- Lat: 972 483- Lat: — — Pizza Hut 3472813 Farrell 9876 1234 32.924701 1234 32.552471 Long: Long: −96.743821 −96.342103 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

TABLE II Telephone Company Name Company ID Address Number Contact Name Raytheon Company 3294718 34 Tewksbury Dr. 978 858-3000 Steve Brower Tewksbury, MA 01876 Fidelity Investments 7243823 82 Devonshire St. 617 276-5000 Bob Smith Boston, MA 02109 Pizza Hut 3472813 743 Midway Rd. 972 743-1400 Beth Collins Addison, TX 75102 . . . . . . . . . . . . . . .

TABLE III Raytheon Company 3294718 Telephone Number Name Office GPS Lat. GPS Long. 978 858-4234 Tom Malay 7483 27.729525 −92.352903 978 858-4235 Cheryl Moore 7484 27.729526 −92.352903 978 858-4237 Tim McNabb 7485 27.729527 −92.352904 . . . . . . . . . . . . . . .

With regard to FIG. 6, an exemplary process 600 is shown. The process 600 may start at step 602, where telephone information, including location coordinates, of a first set of telephones assigned to a user may be stored. The first set of telephones assigned to the user may include a user's home, work, and other telephones. At step 604, telephone information, including location coordinates, of a second set of telephones assigned to an organization of which the user is associated may be stored. The telephones assigned to the organization may include one or more telephones that are also assigned to the user, who may be an employee of the organization. The user may be associated with the organization by being an employee, consultant, officer, director, or otherwise. The stored telephone information of telephones assigned to the user and organization may be stored in the same or different data repositories and may be co-located or located remotely from one another on the same or different network.

At step 606, a call request may be received. The call request may be a call that is being placed to the user. A determination may be made at step 607 as to whether the user has call forwarding activated. If so, at step 608, a determination is made as to whether the wireless telephone of the user is within a predetermined range of a telephone in a first set of telephones. The first set of telephones may include telephones assigned to the user (e.g., home telephone, work telephone, etc.). If so, then at step 610, a call associated the call requested may be routed or caused to be routed to the telephone in the first set of telephones. At step 612, a determination may be made as to whether the call is answered at the telephone. If the call is answered, the call is connected at step 614.

If either the call is not answered at step 612 or the wireless telephone of the user is not within a predetermined range of the telephone in the first set of telephones at step 608, then the process 600 continues at step 616. At step 616, a determination is made as to whether the wireless telephone of the user is within a predetermined range of a telephone in a second set of telephones. The second set of telephones may be telephones assigned to an organization, such as an employer, of which the user is associated. If so, then the process 600 continues at step 618, where a call associated with the call request may be routed or caused to be routed to a telephone of the second set of telephones at step 618. At step 620, a determination is made as to whether the call was answered at the telephone. If so, the call is connected to the telephone at step 622. Otherwise, if the call is not answered at the telephone in the second set of telephones or a determination was made that the wireless telephone of the user is not within the predetermined range of a telephone in the second set of telephones, then the call is connected to the user's voicemail at step 624.

If call forwarding is determined not to be activated at step 607, then the process 600 may continue at step 626, where the call is routed to the wireless device. If the call is answered at step 628, then the call is connected at step 630. If not, then the call may be connected to voicemail. In one embodiment, a setting may allow for an unanswered call at step 628 to be call forwarded using the process 600 starting at step 608 (i.e., continuing at step 608 from step 628) prior to the call being connected to voicemail, which is performed at step 624 should the call forwarding process be unsuccessful. It should be understood that alternative processes that provide the same or analogous functionality as provided herein may be utilized in accordance with the principles of the present invention. It should also be understood that the storage of the telephone information may be performed by the same or different service providers.

Although the principles of the present invention have been described in terms of the foregoing embodiments, this description has been provided by way of explanation only, and is not intended to be construed as a limitation of the invention. Those skilled in the art will recognize modifications of the present invention that might accommodate recording one-way speech signal samples. 

1. A system for providing telephone services, said system comprising: at least one database configured to: store at least one telephone number and associated sets of location coordinates of a first set of telephones registered as being available for a call to be routed in an attempt to connect with a user; store at least one telephone number and associated sets of location coordinates of a second set of telephones registered as being available for a call to be routed in an attempt to connect with the user, the first set of telephones including at least one telephone being assigned to a user and the second set of telephones including at least one telephone assigned to an organization of which the user is associated; and a processing unit configured to: in response to receiving a call request: determine whether a wireless telephone of the user is positioned within a predetermined range of a first telephone of the first set of telephones stored in said at least one database; in response to determining that the wireless telephone is within the predetermined range of the first telephone, cause a call associated with the call request to be routed to the first telephone; otherwise, determine whether the wireless telephone of the user is within the predetermined range of a second telephone of the second set of telephones stored in said at least one database; and in response to determining that the wireless telephone is within the predetermined range of the telephone, cause the call associated with the call request to be routed to the second telephone.
 2. The system according to claim 1, wherein said processing unit is further configured to: provide a first interface configured to enable the user to associate the telephone numbers and set of location coordinates with a telephone assigned to the user; and provide a second interface configured to enable a second user to associate the second set of telephones with second respective sets of location coordinates.
 3. The system according to claim 2, wherein the first interface is configured to receive and store the at least one first telephone number and associated sets of location coordinates.
 4. The system according to claim 2, wherein the second interface is configured to enable the second user to identify the second set of telephones with respect to offices within a facility.
 5. The system according to claim 2, wherein the first interface is an application operating on the wireless device.
 6. The system according to claim 2, wherein the second interface is a graphical user interface accessible via a network.
 7. The system according to claim 1, wherein the first and second sets of location coordinates are global position system (GPS) coordinates.
 8. The system according to claim 1, wherein said processing unit is further configured to determine whether the user has set a parameter to cause said processor to determine whether the wireless telephone is within the predetermined distance from any of the telephones of the first and second sets of telephones.
 9. The system according to claim 1, wherein said processing unit is further configured to cause the call associated with the call request to be routed to the second telephone using a distinctive ring.
 10. The system according to claim 9, wherein the distinctive ring is selectable by the user.
 11. A method for providing telephone services, said system comprising: storing at least one telephone number and associated sets of location coordinates of a first set of telephones registered as being available for a call to be routed in an attempt to connect with a user; storing at least one telephone number and associated sets of location coordinates of a second set of telephones registered as being available for a call to be routed in an attempt to connect with the user, the first set of telephones including at least one telephone being assigned to the user and the second set of telephones including at least one telephone assigned to an organization of which the user is associated; and in response to receiving a call request: determining whether a wireless telephone of the user is positioned within a predetermined range of a first telephone of the first set of telephones; in response to determining that the wireless telephone is within the predetermined range of the first telephone, causing a call associated with the call request to be routed to the first telephone; otherwise, determining whether the wireless telephone of the user is within the predetermined range of a second telephone of the second set of telephones; and in response to determining that the wireless telephone is within the predetermined range of the telephone, causing the call associated with the call request to be routed to the second telephone.
 12. The method according to claim 11, wherein further comprising: providing a first interface configured to enable the user to associate the telephone numbers and set of location coordinates with a telephone assigned to the user; and providing a second interface configured to enable a second user to associate the second set of telephones with second respective sets of location coordinates.
 13. The method according to claim 12, wherein providing the first interface further includes: receiving the at least one first telephone number and associated sets of location coordinates; and storing the at least one first telephone number and associated sets of location coordinates.
 14. The method according to claim 12, wherein providing the second interface further includes enabling the second user to identify the second set of telephones with respect to offices within a facility.
 15. The method according to claim 12, further comprising downloading the first interface as an application for operation on the wireless device.
 16. The method according to claim 12, wherein providing the second interface includes presenting a graphical user interface accessible via a network.
 17. The method according to claim 11, wherein storing the first and second sets of location coordinates includes storing global position system (GPS) coordinates.
 18. The method according to claim 11, further comprising determining whether the user has set a parameter to cause a determination as to whether the wireless telephone is within the predetermined distance from any of the telephones of the first and second sets of telephones.
 19. The method according to claim 11, further comprising generating a distinctive ring on the second telephone for the call.
 20. The method according to claim 19, further comprising enabling the user to select the distinctive ring. 